class Solution {
public:
    string multiply(string num1, string num2) {
        int m=num1.size(),n=num2.size();
        vector<int> A,B;
        vector<int> C(m+n);
        for(int i=m-1;i>=0;i--) A.push_back(num1[i]-'0');
        for(int i=n-1;i>=0;i--) B.push_back(num2[i]-'0');

        for(int i=0;i<m;i++)
        {
            for(int j=0;j<n;j++)
            {
                C[i+j]+=A[i]*B[j];
            }
        }

        int t=0;
        for(int i=0;i<C.size();i++)
        {
            t+=C[i];
            C[i]=t%10;
            t/=10;
        }

        int k=C.size()-1;

        while(k && !C[k]) k--;
        string res;
        
        while(k>=0) res+=C[k--]+'0';
        return res;
    }
};
